home *** CD-ROM | disk | FTP | other *** search
/ Gekikoh Dennoh Club 5 / Gekikoh Dennoh Club Vol. 5 (Japan).7z / Gekikoh Dennoh Club Vol. 5 (Japan) (Track 01).bin / internet / tcppack / tcppackb.lzh / src / libnetwork / socket.c < prev    next >
C/C++ Source or Header  |  1994-05-24  |  9KB  |  503 lines

  1. /*
  2.  * socket.c
  3.  *
  4.  * Copyright (C) 1994 First Class Technology.
  5.  */
  6.  
  7. #include<stdio.h>
  8. #include<stdlib.h>
  9. #include<string.h>
  10.  
  11. #include"tcpipdrv.h"
  12. #include"network.h"
  13. #include"socket.h"
  14.  
  15. _ti_func search_ti_entry (void);
  16.  
  17. /************************************************
  18.  *                        *
  19.  ************************************************/
  20. int
  21. accept (int a, char * b, int * c)
  22. {
  23.   _ti_func func = search_ti_entry ();
  24.  
  25.   if (func)
  26.     {
  27.       long arg[3];
  28.  
  29.       arg[0] = a;
  30.       arg[1] = (long)b;
  31.       arg[2] = (long)c;
  32.  
  33.       return func (_TI_accept, arg);
  34.     }
  35.   return -1;
  36. }
  37.  
  38. /************************************************
  39.  *                        *
  40.  ************************************************/
  41. int
  42. bind (int a, char * b, int c)
  43. {
  44.   _ti_func func = search_ti_entry ();
  45.  
  46.   if (func)
  47.     {
  48.       long arg[3];
  49.  
  50.       arg[0] = a;
  51.       arg[1] = (long)b;
  52.       arg[2] = c;
  53.  
  54.       return func (_TI_bind, arg);
  55.     }
  56.   return -1;
  57. }
  58.  
  59. /************************************************
  60.  *                        *
  61.  ************************************************/
  62. int
  63. close_s (int a)
  64. {
  65.   _ti_func func = search_ti_entry ();
  66.  
  67.   if (func)
  68.     {
  69.       return func (_TI_close_s, (long *)a);
  70.     }
  71.   return -1;
  72. }
  73.  
  74. /************************************************
  75.  *                        *
  76.  ************************************************/
  77. int
  78. connect (int a, char *b, int c)
  79. {
  80.   _ti_func func = search_ti_entry ();
  81.  
  82.   if (func)
  83.     {
  84.       long arg[3];
  85.  
  86.       arg[0] = a;
  87.       arg[1] = (long)b;
  88.       arg[2] = c;
  89.  
  90.       return func (_TI_connect, arg);
  91.     }
  92.   return -1;
  93. }
  94.  
  95. /************************************************
  96.  *                        *
  97.  ************************************************/
  98. int
  99. listen (int a, int b)
  100. {
  101.   _ti_func func = search_ti_entry ();
  102.  
  103.   if (func)
  104.     {
  105.       long arg[2];
  106.  
  107.       arg[0] = a;
  108.       arg[1] = b;
  109.  
  110.       return func (_TI_listen, arg);
  111.     }
  112.   return -1;
  113. }
  114.  
  115. /************************************************
  116.  *                        *
  117.  ************************************************/
  118. int
  119. socket (int a, int b, int c)
  120. {
  121.   _ti_func func = search_ti_entry ();
  122.  
  123.   if (func)
  124.     {
  125.       long arg[3];
  126.  
  127.       arg[0] = a;
  128.       arg[1] = b;
  129.       arg[2] = c;
  130.  
  131.       return func (_TI_socket, arg);
  132.     }
  133.   return -1;
  134. }
  135.  
  136. /************************************************
  137.  *                        *
  138.  ************************************************/
  139. int
  140. read_s (int a, char * b, int c)
  141. {
  142.   _ti_func func = search_ti_entry ();
  143.  
  144.   if (func)
  145.     {
  146.       long arg[3];
  147.  
  148.       arg[0] = a;
  149.       arg[1] = (long)b;
  150.       arg[2] = c;
  151.  
  152.       return func (_TI_read_s, arg);
  153.     }
  154.   return -1;
  155. }
  156.  
  157. /************************************************
  158.  *                        *
  159.  ************************************************/
  160. int
  161. recvfrom (int a, char * b, int c, int d, char * e, int *f)
  162. {
  163.   _ti_func func = search_ti_entry ();
  164.  
  165.   if (func)
  166.     {
  167.       long arg[6];
  168.  
  169.       arg[0] = a;
  170.       arg[1] = (long)b;
  171.       arg[2] = c;
  172.       arg[3] = d;
  173.       arg[4] = (long)e;
  174.       arg[5] = (long)f;
  175.  
  176.       return func (_TI_recvfrom, arg);
  177.     }
  178.   return -1;
  179. }
  180.  
  181. /************************************************
  182.  *                        *
  183.  ************************************************/
  184. int
  185. write_s (int a, char * b, int c)
  186. {
  187.   _ti_func func = search_ti_entry ();
  188.  
  189.   if (func)
  190.     {
  191.       long arg[3];
  192.  
  193.       arg[0] = a;
  194.       arg[1] = (long)b;
  195.       arg[2] = c;
  196.  
  197.       return func (_TI_write_s, arg);
  198.     }
  199.   return -1;
  200. }
  201.  
  202. /************************************************
  203.  *                        *
  204.  ************************************************/
  205. int
  206. sendto (int a, char * b, int c, int d, char * e, int f)
  207. {
  208.   _ti_func func = search_ti_entry ();
  209.  
  210.   if (func)
  211.     {
  212.       long arg[6];
  213.  
  214.       arg[0] = a;
  215.       arg[1] = (long)b;
  216.       arg[2] = c;
  217.       arg[3] = d;
  218.       arg[4] = (long)e;
  219.       arg[5] = f;
  220.  
  221.       return func (_TI_sendto, arg);
  222.     }
  223.   return -1;
  224. }
  225.  
  226. /************************************************
  227.  *                        *
  228.  ************************************************/
  229. int
  230. socklen (int a, int b)
  231. {
  232.   _ti_func func = search_ti_entry ();
  233.  
  234.   if (func)
  235.     {
  236.       long arg[2];
  237.  
  238.       arg[0] = a;
  239.       arg[1] = b;
  240.  
  241.       return func (_TI_socklen, arg);
  242.     }
  243.   return -1;
  244. }
  245.  
  246.  
  247. /************************************************
  248.  *                        *
  249.  ************************************************/
  250. int
  251. getpeername (int a, char *b, int *c)
  252. {
  253.   _ti_func func = search_ti_entry ();
  254.  
  255.   if (func)
  256.     {
  257.       long arg[3];
  258.  
  259.       arg[0] = a;
  260.       arg[1] = (long)b;
  261.       arg[2] = (long)c;
  262.  
  263.       return func (_TI_getpeername, arg);
  264.     }
  265.   return -1;
  266. }
  267.  
  268. /************************************************
  269.  *                        *
  270.  ************************************************/
  271. int
  272. getsockname (int a, char * b, int *c)
  273. {
  274.   _ti_func func = search_ti_entry ();
  275.  
  276.   if (func)
  277.     {
  278.       long arg[3];
  279.  
  280.       arg[0] = a;
  281.       arg[1] = (long)b;
  282.       arg[2] = (long)c;
  283.  
  284.       return func (_TI_getsockname, arg);
  285.     }
  286.   return -1;
  287. }
  288.  
  289. /************************************************
  290.  *                        *
  291.  ************************************************/
  292. int
  293. setflush (int a, int b)
  294. {
  295.   _ti_func func = search_ti_entry ();
  296.  
  297.   if (func)
  298.     {
  299.       long arg[2];
  300.  
  301.       arg[0] = a;
  302.       arg[1] = b;
  303.  
  304.       return func (_TI_setflush, arg);
  305.     }
  306.   return -1;
  307. }
  308.  
  309. /************************************************
  310.  *                        *
  311.  ************************************************/
  312. int
  313. shutdown (int a, int b)
  314. {
  315.   _ti_func func = search_ti_entry ();
  316.  
  317.   if (func)
  318.     {
  319.       long arg[2];
  320.  
  321.       arg[0] = a;
  322.       arg[1] = b;
  323.  
  324.       return func (_TI_shutdown, arg);
  325.     }
  326.   return -1;
  327. }
  328.  
  329. /************************************************
  330.  *                        *
  331.  ************************************************/
  332. int
  333. sockkick (int a)
  334. {
  335.   _ti_func func = search_ti_entry ();
  336.  
  337.   if (func)
  338.     return func (_TI_sockkick, (long *)a);
  339.  
  340.   return -1;
  341. }
  342.  
  343. /************************************************
  344.  *                        *
  345.  ************************************************/
  346. int
  347. usesock (int a)
  348. {
  349.   _ti_func func = search_ti_entry ();
  350.  
  351.   if (func)
  352.     return func (_TI_usesock, (long *)a);
  353.  
  354.   return -1;
  355. }
  356.  
  357. /************************************************
  358.  *                        *
  359.  ************************************************/
  360. int
  361. recvchar (int a)
  362. {
  363.   _ti_func func = search_ti_entry ();
  364.  
  365.   if (func)
  366.     return func (_TI_recvchar, (long *)a);
  367.  
  368.   return -1;
  369. }
  370.  
  371. /************************************************
  372.  *                        *
  373.  ************************************************/
  374. int
  375. recvline (int a, char * b, unsigned int c)
  376. {
  377.   _ti_func func = search_ti_entry ();
  378.  
  379.   if (func)
  380.     {
  381.       long arg[3];
  382.  
  383.       arg[0] = a;
  384.       arg[1] = (long)b;
  385.       arg[2] = c;
  386.  
  387.       return func (_TI_recvline, arg);
  388.     }
  389.   return -1;
  390. }
  391.  
  392. /************************************************
  393.  *                        *
  394.  ************************************************/
  395. int
  396. rrecvchar (int a)
  397. {
  398.   _ti_func func = search_ti_entry ();
  399.  
  400.   if (func)
  401.     return func (_TI_rrecvchar, (long *)a);
  402.  
  403.   return -1;
  404. }
  405.  
  406. /************************************************
  407.  *                        *
  408.  ************************************************/
  409. int
  410. seteol (int a, char * b)
  411. {
  412.   _ti_func func = search_ti_entry ();
  413.  
  414.   if (func)
  415.     {
  416.       long arg[2];
  417.  
  418.       arg[0] = a;
  419.       arg[1] = (long)b;
  420.  
  421.       return func (_TI_seteol, arg);
  422.     }
  423.   return -1;
  424. }
  425.  
  426. /************************************************
  427.  *                        *
  428.  ************************************************/
  429. int
  430. sockmode (int a, int b)
  431. {
  432.   _ti_func func = search_ti_entry ();
  433.  
  434.   if (func)
  435.     {
  436.       long arg[2];
  437.  
  438.       arg[0] = a;
  439.       arg[1] = (long)b;
  440.  
  441.       return func (_TI_sockmode, arg);
  442.     }
  443.   return -1;
  444. }
  445.  
  446. /************************************************
  447.  *                        *
  448.  ************************************************/
  449. void
  450. usflush (int a)
  451. {
  452.   _ti_func func = search_ti_entry ();
  453.  
  454.   if (func)
  455.     func (_TI_usflush, (long *)a);
  456.  
  457.   return;
  458. }
  459.  
  460. /************************************************
  461.  *                        *
  462.  ************************************************/
  463. char *
  464. psocket (void *a)
  465. {
  466.   _ti_func func = search_ti_entry ();
  467.  
  468.   if (func)
  469.     return (char *)func (_TI_psocket, (long *)a);
  470.  
  471.   return NULL;
  472. }
  473.  
  474. /************************************************
  475.  *                        *
  476.  ************************************************/
  477. char *
  478. sockerr (int a)
  479. {
  480.   _ti_func func = search_ti_entry ();
  481.  
  482.   if (func)
  483.     {
  484.       return (char *)func (_TI_sockerr, (long *)a);
  485.     }
  486.   return NULL;
  487. }
  488.  
  489. /************************************************
  490.  *                        *
  491.  ************************************************/
  492. char *
  493. sockstate (int a)
  494. {
  495.   _ti_func func = search_ti_entry ();
  496.  
  497.   if (func)
  498.     {
  499.       return (char *)func (_TI_sockstate, (long *)a);
  500.     }
  501.   return NULL;
  502. }
  503.